package com.carpark.ejb.DAO;

import com.carpark.ejb.Model.ParkingspacesModel;
import java.util.Date;
import java.util.List;
import javax.ejb.Local;
import javax.ejb.Remote;

/**
 *
 * @author Sawior
 */
@Local
public interface ParkingspacesDAO {
    
    public void addSpace(ParkingspacesModel space);
    
    public void updateSpace(ParkingspacesModel space);
    
    public void removeSpace(ParkingspacesModel space);
    
    public List<ParkingspacesModel> getAllParkingSpaces();
    
    public int getParkingSpacesSize();
    
    public ParkingspacesModel getParkingSpacesByNumber(Integer number);
    
    public List<ParkingspacesModel> getParkingSpacesByType(String type);
    
    public List<ParkingspacesModel> getParkingSpacesByStatus(String status);
    
    public List<ParkingspacesModel> getParkingSpacesForReservation(Date issue, Date end, String carType);
    
    public boolean synchronizeParkingSpacesWithConfiguration(List<ParkingspacesModel> spacesToUpdate);
    
    
}
